Skip to main content
Version: Next

compareFuncsCb

With this method, you can compare the execution time of several functions and get complete information from it

Params

compareFuncsCb(cb,runtimeCount = 5, ...inputFunctions)) ;
  • runtimeCount → The number of times you want input functions to be executed and its time taken
  • inputFunctions → The functions we want to compare their execution time with each other and compare
  • Cb → A function that will be called as a callback and the output will be passed to this function
take care

When you use this method, be sure to define the callback function

Returns

{
firstRuntimes: {
fastest: [ [Function: inpFunc3], 0.00604 ],
slowest: [ [Function: inpFunc1], 0.07471 ],
rank: [ [Array], [Array], [Array] ]
},
multiRuntimes: {
fastestRun: [ [Function: inpFunc1], 0.00033 ],
slowestRun: [ [Function: inpFunc2], 0.00204 ],
fastestAverage: [ [Function: inpFunc3], 0.00036 ],
slowestAverage: [ [Function: inpFunc2], 0.00085 ],
result: [ [Array], [Array], [Array] ]
}
}
  • Object.firstRuntimes → Comparison of functions in the first run

  • Object.firstRuntimes.fastest → Fastest execution time among functions

  • Object.firstRuntimes.slowest → Slowest execution time among functions

  • Object.firstRuntimes.rank → Execution time of all functions in the order of fastest to slowest

  • Object.multiRuntimes → Comparison of functions in the next several times of execution (by the number of runtimeCount)

  • Object.multiRuntimes.fastestRun → Fastest execution time among functions

  • Object.multiRuntimes.slowestRun → Slowest execution time among functions

  • Object.multiRuntimes.fastestAverage → Fastest execution time among functions

  • Object.multiRuntimes.slowestAverage → Slowest execution time among functions

  • Object.multiRuntimes.result → Execution times of each function(like getMultiRuntimeCb())

Usage

const inpFuncSync1 = async () => {
return await new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 2000);
});
};

const inpFuncSync2 = async () => {
return await new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 500);
});
};

const inpFuncSync3 = async () => {
return await new Promise((resolve, reject) => {
setTimeout(() => {
resolve(true);
}, 3000);
});
};


compareFuncsCb((err,res)=>{
console.log(res);
/*
res = {
firstRuntimes: {
fastest: [ [AsyncFunction: inpFuncSync2], 501.90492 ],
slowest: [ [AsyncFunction: inpFuncSync3], 3001.49104 ],
rank: [ [Array], [Array], [Array] ]
},
multiRuntimes: {
fastestRun: [ [AsyncFunction: inpFuncSync2], 500.9653329999992 ],
slowestRun: [ [AsyncFunction: inpFuncSync3], 3000.7440420000003 ],
fastestAverage: [ [AsyncFunction: inpFuncSync2], 500.97432 ],
slowestAverage: [ [AsyncFunction: inpFuncSync3], 3000.72284 ],
result: [ [Array], [Array], [Array] ]
}
}
*/
},5,inpFuncSync1,inpFuncSync2,inpFuncSync3)